// ����:
// ���������� ����������.
// ���������� ������� 

//#include "stdafx.h"	//���� �� ����������� �������������� ������������
					//������, ���������������� ��� �������
#include <tchar.h>
#include "myString.h"
#include "Point.h"
#include "BD.h"
#define	  stop __asm nop

int _tmain(int argc, _TCHAR* argv[])
{
	//////////////////////////////////////////////////////////////////////



		//������� 1.���������� ����������.

		//���������� � ������� ����� MyString.cpp � MyString.h
		//������ MyString, �������������� ���� �� ���������� �������
		//9a. ����������� �������� ������������ ��� ������ MyString
		//��������� ������������ ������ �������������� ���������

	{
		MyString s1("AAA"), s2;
		s2 = s1;
		s1 = "CCC";
		s2 = MyString("tmp");
		s1 = s1;
		stop

	}//������ �������� "���"??? 
	// � ������������ ��������� ������������, ���������

	stop


		//2.�������� ����� Point, ������� ����� ��������� ����������
		//"�����". �������� ����������� (������������) ������   

		//2b. "�����������" �������� += ���, ����� ��� ����������
		//�������� ���� pt2+=pt1; ������������
		//����������� ���������� �������� pt1 � pt2, � �����
		//������������� ��������������� ���������� ������� pt2 ���
		// � ������  pt2+=1; ��� ���������� ������� pt2 ������������� ��
		// ��������� ��������
		//a) � ������� ������ ������ (�������� +=)
		//�) � ������� ���������� ������� (�������� -=)
		//��������� ������������ ������ �������������� ���������
{
	Point pt1(1, 1);
	Point pt2(2, 2);
	pt2 += pt1;

	pt2 += 1;
	Point pt3(3, 3);
	pt2 += pt1 += pt3;


	pt2 -= pt1;
	stop

		//������� 2c. ����������� �������� +/- 
		//a)� ������� ������� ������ (�������� +)
		//�) � �������  ���������� ������� (�������� -)
		//���, ����� ����� �� ������������������ �����
		//���� ����������� ���������
	{
		Point pt1(1, 1);
		Point pt2(2, 2);
		Point pt3;

		pt3 = pt1 + 5;
		pt3 = 2 + pt1;
		pt3 = pt1 + pt2;

		pt3 = pt1 - 5;
		pt3 = pt1 - pt2;
		stop

			//������� 1d. ����������� ������� �������� +/- 
			pt3 = -pt1;
			pt3 = +pt1;

	}


		//������� 2d. ����������� �������� << (������ � �����) ���
		//������ MyString ����� �������, ����� ��� ���������� ����������� ������
		//�� ����� ���� ��������:
		//contents:  "QWERTY"

	MyString s("QWERTY");
	std::cout << s << std::endl;
	MyString t("Test");
	std::cout << t << std::endl;

	stop

		//������� 2e*. ����������� ��������� + � += ��� ������ MyString ����� �������,
		  //����� ����������� ������������ �����
		MyString s1("QWERTY"), s2("AAA"), s3, s4("BBB");
	s3 = s1 + s2;
	s4 += s1;
	stop
}

	//������� 3. ����������� "���� ������" � ����������� ����������� ��������������
	//�������. ������ �������� ������� (���� � ������� ��������, ������� ���������� ��������
	//� ���� ���� �� �����), � �������: ���, �������, ���������, ��������...
	//����������:
	//���������� ����������� � ����
	//����������
	//����� ���������� � ���������� ����������
	//����� ���� (��� ������������) ���������� � ���� �����������
	//��������:
stop
	BD bd;	//�������� ������ ����
	bd["Ivanov"] = Data(sex::MALE,20,"director",50000);	//���� Ivanov-� � ���� ��� ���, ��
						//����������, ���� ��� ����, �� ������ ��� ����������
	
	bd["Petrova"] = Data(sex::FEMALE, 51, "accountant", 30000);
	bd["Sidorov"] = Data(sex::MALE, 30, "IT-specialist", 80000);
	bd["Li-si-cin"];
	bd["Li-si-cin"] = Data(sex::MALE, 50, "pilot", 12000);
	
	BD bd1 = bd;
	bd1.Add_employee("Noname", Data(sex::FEMALE, 32, "owner", 600000));
	bd1.Add_employee("Sidorov", Data(sex::FEMALE, 30, "IT-specialist", 60000));
	bd.Dell_employee("Sidorov");
	bd1.Dell_employee("Ivanov");
	
	BD bd2;
	bd2 = bd;
	bd2 = BD(5);

	std::cout<<bd;	//����� ���������� ��� ���� �����������

	/*bd1.~BD();
	bd.~BD();
	bd2.~BD();*/
	
	return 0;
}//endmain

